<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Gallio.PowerShellCommands</name>
    </assembly>
    <members>
        <member name="T:Gallio.PowerShellCommands.BaseCommand">
            <exclude />
            <summary>
            Abstract base class for PowerShell commands.
            Provides some useful runtime support.
            </summary>
        </member>
        <member name="M:Gallio.PowerShellCommands.BaseCommand.PostMessage(Gallio.Common.Action)">
            <summary>
            Posts an action to perform later within the message loop.
            </summary>
            <param name="action">The action to perform.</param>
            <seealso cref="M:Gallio.PowerShellCommands.BaseCommand.RunWithMessagePump(Gallio.Common.Action)"/>
        </member>
        <member name="M:Gallio.PowerShellCommands.BaseCommand.RunWithMessagePump(Gallio.Common.Action)">
            <summary>
            Starts a message pump running on the current thread and performs the
            specified action in another thread.  The action can asynchronously communicate back to the
            cmdlet using <see cref="M:Gallio.PowerShellCommands.BaseCommand.PostMessage(Gallio.Common.Action)"/> on the current thread.
            </summary>
            <param name="action">The action to perform.</param>
        </member>
        <member name="M:Gallio.PowerShellCommands.BaseCommand.StopProcessing">
            <summary>
            Aborts the processing of the command.
            </summary>
        </member>
        <member name="E:Gallio.PowerShellCommands.BaseCommand.StopRequested">
            <summary>
            The event dispatches when the command is asynchronously being stopped
            via <see cref="M:Gallio.PowerShellCommands.BaseCommand.StopProcessing"/>.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.BaseCommand.Logger">
            <summary>
            Gets the logger for the cmdlet.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.BaseCommand.NoProgress">
            <summary>
            Sets whether progress information is shown during the execution. If this option is specified,
            the execution is silent and no progress information is displayed.
            </summary>
            <remarks>
            <list type="bullet">
            <item>This parameter takes the value true if present and false if not. No
            value has to be specified.</item>
            </list>
            </remarks>
            <example>
            <code>
            # Shows progress information
            Run-Gallio SomeAssembly.dll
            # Hides progress information
            Run-Gallio SomeAssembly.dll -np
            </code>
            </example>
        </member>
        <member name="P:Gallio.PowerShellCommands.BaseCommand.ProgressMonitorProvider">
            <summary>
            Gets the progress monitor provider for the cmdlet.
            </summary>
        </member>
        <member name="T:Gallio.PowerShellCommands.CommandProgressMonitorPresenter">
            <exclude />
        </member>
        <member name="T:Gallio.PowerShellCommands.CommandProgressMonitorProvider">
            <exclude />
        </member>
        <member name="T:Gallio.PowerShellCommands.NamespaceDoc">
            <summary>
            The Gallio.PowerShellCommands namespace contains Powershell cmdlets for Gallio.
            </summary>
        </member>
        <member name="T:Gallio.PowerShellCommands.RunGallioCommand">
            <summary>
            A PowerShell Cmdlet for running Gallio.
            </summary>
            <remarks>
            Only the <see cref="P:Gallio.PowerShellCommands.RunGallioCommand.Files"/> parameter is required.
            </remarks>
            <example>
            <para>There are severals ways to run this cmdlet:</para>
            <code><![CDATA[
            # Makes the Gallio commands available
            Add-PSSnapIn Gallio
            
            # Runs a few assemblies and scripts.
            Run-Gallio "[Path-to-assembly1]\TestAssembly1.dll","[Path-to-assembly2]\TestAssembly2.dll","[Path-to-test-script1]/TestScript1_spec.rb","[Path-to-test-script2]/TestScript2.xml" -f Category:UnitTests -rd C:\build\reports -rf html -ra zip
            ]]></code>
            </example>
        </member>
        <member name="M:Gallio.PowerShellCommands.RunGallioCommand.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Gallio.PowerShellCommands.RunGallioCommand.EndProcessing">
            <exclude />
        </member>
        <member name="M:Gallio.PowerShellCommands.RunGallioCommand.RunLauncher(Gallio.Runner.TestLauncher)">
            <exclude />
            <summary>
            Provided so that the unit tests can override test execution behavior.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.Files">
             <summary>
             The list of relative or absolute paths of test files, projects and assemblies to execute.
             Wildcards may be used.  This is required.
             </summary>
             <example>
             <para>There are severals ways to pass the test files to the cmdlet:</para>
             <code><![CDATA[
             # Runs TestAssembly1.dll
             Run-Gallio "[Path-to-assembly1]\TestAssembly1.dll"
             
             # Runs TestAssembly1.dll and TestAssembly2.dll
             Run-Gallio "[Path-to-assembly1]\TestAssembly1.dll","[Path-to-assembly2]\TestAssembly2.dll"
             
             # Runs TestAssembly1.dll and TestAssembly2.dll
             $assemblies = "[Path-to-assembly1]\TestAssembly1.dll","[Path-to-assembly2]\TestAssembly2.dll"
             Run-Gallio $assemblies
             
             # Runs TestAssembly1.dll, TestAssembly2.dll, TestScript1_spec.rb, and TestScript2.xml
             $assembly1 = "[Path-to-assembly1]\TestAssembly1.dll"
             $assembly2 = "[Path-to-assembly2]\TestAssembly2.dll"
             $script1 = "[Path-to-test-script1]\TestScript1_spec.rb"
             $script2 = "[Path-to-test-script2]/TestScript2.xml"
             $files = $assembly1,$assembly2,$script1,$script2
             Run-Gallio $files
             
             # If you don't specify the test files, PowerShell will prompt you for the names:
             PS C:\Documents and Settings\jhi> Run-Gallio
            
             cmdlet Run-Gallio at command pipeline position
             Supply values for the following parameters:
             Files[0]:
             ]]></code>
             </example>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.HintDirectories">
            <summary>
            The list of directories used for loading referenced assemblies and other dependent resources.
            </summary>
            <example>
            <para>The following example shows how to specify the hint directories:</para>
            <code><![CDATA[
            Run-Gallio SomeAssembly.dll -hd C:\SomeFolder
            ]]></code>
            <para>See the <see cref="P:Gallio.PowerShellCommands.RunGallioCommand.Files"/> property for more ways of passing list of parameters to the cmdlet.</para>
            </example>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.PluginDirectories">
            <summary>
            Additional Gallio plugin directories to search recursively.
            </summary>
            <example>
            <para>The following example shows how to specify the plugin directories:</para>
            <code><![CDATA[
            Run-Gallio SomeAssembly.dll -pd C:\SomeFolder
            ]]></code>
            <para>See the <see cref="P:Gallio.PowerShellCommands.RunGallioCommand.Files"/> property for more ways of passing list of parameters to
            the cmdlet.</para>
            </example>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.ApplicationBaseDirectory">
            <summary>
            Gets or sets the relative or absolute path of the application base directory,
            or null to use a default value selected by the consumer.
            </summary>
            <remarks>
            <para>
            If relative, the path is based on the current working directory,
            so a value of "" causes the current working directory to be used.
            </para>
            <para>
            The default is null.
            </para>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.WorkingDirectory">
            <summary>
            Gets or sets the relative or absolute path of the working directory
            or null to use a default value selected by the consumer.
            </summary>
            <remarks>
            <para>
            If relative, the path is based on the current working directory,
            so a value of "" causes the current working directory to be used.
            </para>
            <para>
            The default is null.
            </para>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.ShadowCopy">
            <summary>
            Enables shadow copying when set to true.
            </summary>
            <remarks>
            <para>
            Shadow copying allows the original assemblies to be modified while the tests are running.
            However, shadow copying may occasionally cause some tests to fail if they depend on their original location.
            </para>
            <para>
            The default is false.
            </para>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.DebugTests">
            <summary>
            Attaches the debugger to the test process when set to true.
            </summary>
            <remarks>
            <para>
            The default is false.
            </para>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.RuntimeVersion">
            <summary>
            Gets or sets the version of the .Net runtime to use for running tests.
            </summary>
            <remarks>
            <para>
            For the CLR, this must be the name of one of the framework directories in <c>%SystemRoot%\Microsoft.Net\Framework.</c>  eg. 'v2.0.50727'.
            </para>
            <para>
            The default is null which uses the most recent installed and supported framework.
            </para>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.ReportTypes">
            <summary>
            A list of the types of reports to generate, separated by semicolons. 
            </summary>
            <remarks>
            <list type="bullet">
            <item>The types supported "out of the box" are: Html, Html-Inline, Text, XHtml,
            XHtml-Inline, Xml, and Xml-Inline, but more types could be available as plugins.</item>
            <item>The report types are not case sensitives.</item>
            </list>
            </remarks>
            <example>
            <para>In the following example reports will be generated in both HTML and XML format:</para>
            <code><![CDATA[
            Run-Gallio SomeAssembly.dll -rt "html","text"
            ]]></code>
            <para>See the <see cref="P:Gallio.PowerShellCommands.RunGallioCommand.Files"/> property for more ways of passing list of parameters to
            the cmdlet.</para>
            </example>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.ReportNameFormat">
            <summary>
            Sets the format string to use to generate the reports filenames.
            </summary>
            <remarks>
            <para>
            Any occurence of {0} will be replaced by the date, and any occurrence of {1} by the time.
            </para>
            <para>
            The default format string is <c>test-report-{0}-{1}</c>.
            </para>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.ReportDirectory">
            <summary>
            Sets the name of the directory where the reports will be put.
            </summary>
            <remarks>
            <para>
            The directory will be created if it doesn't exist. Existing files will be overwritten.
            The default report directory is "Reports".
            </para>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.ReportArchive">
            <summary>
            Specifies to enclose the resulting reports into a compressed archive file (zip).
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.Filter">
            <summary>
            <para>
      Sets the filter set to apply, which consists of a sequence of one or more inclusion
      or exclusion filter rules prefixed using 'include' (optional) or 'exclude'.
    </para>
            </summary>
            <remarks>
            <para>
      A filter rule consists of zero or more filter expressions
      that may be combined using 'and', 'or', and 'not' and grouped with
      parentheses.  A filter expression consists of a filter key followed by one or
      more comma-delimited matching values in the form 'key: value, "quoted value",
      /regular expression/'.
    </para><para>
      The filter grammar is defined as follows:
    </para><para>
      <code><![CDATA[
     INCLUDE          ::= "include"              # Not case-sensitive
     EXCLUDE          ::= "exclude"              # Not case-sensitive
	
     OR               ::= "or"                   # Not case-sensitive
     AND              ::= "and"                  # Not case-sensitive
     NOT              ::= "not"                  # Not case-sensitive

     <unquotedWord>   ::= [^:,*()/\"']+
    
     <quotedWord>     ::= '"' .* '"'             # String delimited by double quotation marks
                      | "'" .* "'"               # String delimited by single quotation marks
               
     <word>           ::= <unquotedWord>
                      | <quotedWord>
                      
     <regexWord>      ::= "/" .* "/"             # Regular expression
                      | "/" .* "/i"              # Case-insensitive regular expression
                      
     <key>            ::= <word>
    
     <value>          ::= <word>                 # Value specified by exact string
                      | <regexWord>              # Value specified by regular expression
    
     <matchSequence>  ::= <value> (',' <value>)* # One or more comma-separated values
    
     <filterExpr>     ::= "*"                    # "Any"
                      | <key> ":" matchSeq>
                      | <filterExpr> OR filterExpr>   # Combine filter expressions with OR
                      | <filterExpr> AND filterExpr>  # Combine filter expressions with AND
                      | NOT <filterExpr>         # Negate filter expression
                      | "(" <filterExpr> ")"     # Grouping filter expression
		      
     <filterRule>     ::= <filterExpr>           # Inclusion rule (default case)
                      | INCLUDE <filterExpr>     # Inclusion rule
                      | EXCLUDE <filterExpr>     # Exclusion rule

     <filterSet>      ::= <filterRule>           # Filter set consists of at least one filter rule.
                      | <filterRule> <filterSet> # But may be a sequence of rules.
     ]]></code>
    </para><list type="bullet">
      <item>By default this property takes the value "*", which means the "Any" filter will be applied.</item>
      <item>
        The operator precedence is, from highest to lowest: NOT, AND, and OR. All these operators are
        left-associative.
      </item>
      <item>
        The commas used to separate the values are interpreted as OR operators, so "Type:Fixture1,Fixture2"
        is equivalent to "Type:Fixture1 or Type:Fixture2".
      </item>
      <item>
        White-space is ignored outside quoted strings, so "Type:Fixture1|Type:Fixture2" is equivalent
        to "Type : Fixture1 | Type : Fixture2".
      </item>
      <item>
        Commas, colons, slashes, backslashes and quotation marks can be escaped with a backslash. For
        example, \' will be interpreted as '. Using a single backslash in front of any other character
        is invalid.
      </item>
      <item>
        Currently the following filter keys are recognized:
        <list type="bullet">
          <item>Id: Filter by id.</item>
          <item>Name: Filter by name.</item>
          <item>Assembly: Filter by assembly name.</item>
          <item>Namespace: Filter by namespace name.</item>
          <item>Type: Filter by type name, including inherited types.</item>
          <item>ExactType: Filter by type name, excluding inherited types.</item>
          <item>Member: Filter by member name.</item>
          <item>
            *: All other names are assumed to correspond to metadata keys. See <see cref="T:Gallio.Model.MetadataKeys"/> for standard metadata keys.  Common keys are: AuthorName, Category, Description, Importance, TestsOn.  <seealso cref="T:Gallio.Model.MetadataKeys"/>
          </item>
        </list>
      </item>      
    </list>
            </remarks>
            <example>
            <para>
      Assuming the following fixtures have been defined:
    </para><code><![CDATA[
      [TestFixture]
      [Category("UnitTest")]
      [Author("AlbertEinstein")]
      public class Fixture1
      {
        [Test]
        public void Test1()
        {
        }
        [Test]
        public void Test2()
        {
        }
      }

      [TestFixture]
      [Category("IntegrationTest")]
      public class Fixture2
      {
        [Test]
        public void Test1()
        {
        }
        [Test]
        public void Test2()
        {
        }
      }
    ]]></code><para>The following filters could be applied:</para><list type="bullet">
      <item>
        <term>Type: Fixture1</term>
        <description>All the tests within Fixture1 will be run.</description>
      </item>

      <item>
        <term>Member: Test1</term>
        <description>Only Fixture1.Test1 and Fixture2.Test1 will be run.</description>
      </item>

      <item>
        <term>Type: Fixture1, Fixture2</term>
        <description>All the tests within Fixture1 or Fixture2 will be run.</description>
      </item>

      <item>
        <term>Type:Fixture1 or Type:Fixture2</term>
        <description>All the tests within Fixture1 or Fixture2 will be run.</description>
      </item>

      <item>
        <term>Type:Fixture1, Fixture2 and Member:Test2</term>
        <description>Only Fixture1.Test2 and Fixture2.Test2 will be run.</description>
      </item>

      <item>
        <term>Type:/Fixture*/ and Member:Test2</term>
        <description>Only Fixture1.Test2 and Fixture2.Test2 will be run.</description>
      </item>

      <item>
        <term>AuthorName:AlbertEinstein</term>
        <description>All the tests within Fixture1 will be run because its author attribute is set to "AlbertEinstein".</description>
      </item>

      <item>
        <term>Category: IntegrationTest</term>
        <description>All the tests within Fixture2 will be run because its category attribute is set to "IntegrationTest".</description>
      </item>

      <item>
        <term>("Type": 'Fixture1' and "Member":/Test*/) or (Type : Fixture2 and Member: /Test*/)</term>
        <description>All the tests will be run. This example also shows that you can enclose key and
        values with quotation marks, and group expressions with parentheses.</description>
      </item>

      <item>
        <term>exclude AuthorName: AlbertEinstein</term>
        <description>All the tests within Fixture2 will be run because its author attribute is not set to "AlbertEinstein".</description>
      </item>
      
      <item>
        <term>exclude Type: Fixture2 include Member: Test2</term>
        <description>Only Fixture1.Test2 will be run because Fixture2 was excluded from consideration before the inclusion rule was applied.</description>
      </item>
    </list>
            </example>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.ShowReports">
            <summary>
            Sets whether to open the generated reports once execution has finished.
            </summary>
            <remarks>
            <list type="bullet">
            <item>This parameter takes the value true if present and false if not. No
            value has to be specified.</item>
            <item>
            The reports are opened in a window using the default system application
            registered to the report file type.
            </item>
            </list>
            </remarks>
            <example>
            <code><![CDATA[
            # Doesn't show the reports once execution has finished
            Run-Gallio SomeAssembly.dll
            
            # Shows the reports once execution has finished
            Run-Gallio SomeAssembly.dll -sr
            ]]></code>
            </example>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.RunnerType">
            <summary>
            Sets the type of test runner to use.
            </summary>
            <remarks>
            <list type="bullet">
            <item>The types supported "out of the box" are: <c>Local</c>, <c>IsolatedAppDomain</c>
            and <c>IsolatedProcess</c> (default), but more types could be available as plugins.</item>
            <item>The runner types are not case sensitive.</item>
            </list>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.RunnerExtensions">
            <summary>
            Specifies the type, assembly, and parameters of custom test runner
            extensions to use during the test run.
            </summary>
            <remarks>
            <para>
            The value must be in the form <c>'[Namespace.]Type,Assembly[;Parameters]'</c> .
            </para>
            </remarks>
            <example>
            The following example runs tests using a custom logger extension:
            <code><![CDATA[
            Run-Gallio SomeAssembly.dll -runner-extension 'FancyLogger,MyExtensions.dll;ColorOutput,FancyIndenting'
            ]]></code>
            </example>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.RunnerProperties">
            <summary>
            Specifies option property key/value pairs for the test runner.
            </summary>
            <example>
            The following example specifies some extra NCover arguments.
            <code><![CDATA[
            Run-Gallio SomeAssembly.dll -runner-property "NCoverArguments='//eas Gallio'"
            ]]></code>
            </example>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.ReportFormatterProperties">
            <summary>
            Specifies option property key/value pairs for the report formatter.
            </summary>
            <example>
            The following example changes the default attachment content disposition for the reports.
            <code><![CDATA[
            Run-Gallio SomeAssembly.dll -report-formatter-property "AttachmentContentDisposition=Absent"
            ]]></code>
            </example>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.DoNotRun">
            <summary>
            Sets whether to load the tests but not run them.  
            </summary>
            <remarks>
            <para>
            This option may be used to produce a report that contains test metadata for consumption by other tools.
            </para>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.IgnoreAnnotations">
            <summary>
            Sets whether to ignore annotations when determining the result code.
            </summary>
            <remarks>
            <para>
            If false (default), then error annotations, usually indicative of broken tests, will cause
            a failure result to be generated.
            </para>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.NoEchoResults">
            <summary>
            Sets whether to echo results to the screen as tests finish.  
            </summary>
            <remarks>
            <para>
            If this option is specified only the final summary statistics are displayed.  Otherwise test results are echoed to the
            console in varying detail depending on the current verbosity level.
            </para>
            </remarks>
        </member>
        <member name="P:Gallio.PowerShellCommands.RunGallioCommand.RunTimeLimit">
            <summary>
            Sets the maximum amount of time (in seconds) the tests can run 
            before they are canceled. The default is an infinite time to run. 
            </summary>
        </member>
        <member name="T:Gallio.PowerShellCommands.GallioSnapIn">
            <exclude />
            <summary>
            A PowerShell SnapIn that registers the Gallio Cmdlets.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.GallioSnapIn.Description">
            <summary>
            Gets the description of the snap-in.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.GallioSnapIn.Name">
            <summary>
            Gets the name of the snap-in.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.GallioSnapIn.Vendor">
            <summary>
            Gets the vendor of the snap-in.
            </summary>
        </member>
        <member name="T:Gallio.PowerShellCommands.CommandLogger">
            <exclude/>
            <summary>
            Logs messages using a <see cref="T:Gallio.PowerShellCommands.BaseCommand"/>'s logging functions.
            </summary>
        </member>
        <member name="M:Gallio.PowerShellCommands.CommandLogger.#ctor(Gallio.PowerShellCommands.BaseCommand)">
            <summary>
            Initializes a new instance of the <see cref="T:Gallio.PowerShellCommands.CommandLogger"/> class.
            </summary>
            <param name="cmdlet">The <see cref="T:System.Management.Automation.Cmdlet"/> instance to channel
            log messages to.</param>
        </member>
        <member name="M:Gallio.PowerShellCommands.CommandLogger.LogImpl(Gallio.Runtime.Logging.LogSeverity,System.String,Gallio.Common.Diagnostics.ExceptionData)">
            <summary>
            Logs a message.
            </summary>
            <param name="severity">The log message severity.</param>
            <param name="message">The message to log.</param>
            <param name="exceptionData">The exception to log (it can be null).</param>
        </member>
        <member name="T:Gallio.PowerShellCommands.Properties.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.Properties.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.Properties.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.Properties.Resources.CmdletNameAndVersion">
            <summary>
              Looks up a localized string similar to Gallio PowerShell Cmdlet - Version {0}.{1} build {2}.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.Properties.Resources.DefaultReportNameFormat">
            <summary>
              Looks up a localized string similar to test-report-{0}-{1}.
            </summary>
        </member>
        <member name="P:Gallio.PowerShellCommands.Properties.Resources.UnexpectedErrorDuringExecution">
            <summary>
              Looks up a localized string similar to An unexpected error occurred during execution of the Gallio task..
            </summary>
        </member>
    </members>
</doc>
